﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;
using ShredTheLog.Api;

namespace ShredTheLog.Themes
{
    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoWindowPart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultWindowPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoWindow.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoMainPart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultMainPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoMain.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoHomePagePart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultHomePagePart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoHomePage.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoTextChatPagePart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultTextChatPagePart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoTextChatPage.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoUserProfilePart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultUserProfilePart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoUserProfile.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoMenuPart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return "OdigoMenu"; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoMenu.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoMiscPart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultMiscPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoMisc.xaml"); } }
    }

    [Export(typeof(ISkinPart))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public sealed class OdigoContactListPart : ISkinPart
    {
        public string ThemeID { get { return OdigoTheme.IDString; } }
        public string PartID { get { return DefaultAboutPart.IDString; } }
        public Uri PartUri { get { return Helper.GetThemeUri("OdigoAbout.xaml"); } }
    }
}
